|
ZKは、Javaで書かれたオープンソースのAjaxWebアプリケーションフレームワークであり、プログラミング知識がほとんどなくともJavaScriptを使うことなくウェブアプリケーションのリッチなGUIを作成できる。 ZKの中核はAjaxベースのイベント駆動機構であり、123以上のXULと83のXHTMLベースのコンポーネントから成り、ユーザインタフェースを設計するためのマークアップ言語を備えている。高機能なXUL/XHTMLコンポーネントを使ってWebページを設計でき、エンドユーザーの活動を契機とするイベントによってそれらを操作できる。デスクトップのGUIアプリケーションのプログラミングモデルとよく似ている。 ZKの方式はサーバ中心型の手法と呼ばれ、コンポーネント間の同期やクライアント/サーバ間のイベントパイプラインはエンジン部が自動的に行い、Ajaxの組み立て用コードはアプリケーション開発者に対して完全に透過的である。したがって、エンドユーザーから見ればデスクトップアプリケーションのような操作性を提供し、一方で開発者にはデスクトップアプリケーションと同様の単純さを保持している。 Swingのようなコンポーネントベースのプログラミング作法に加え、ZKはリッチなユーザインタフェース定義のためのマークアップ言語ZUMLをサポートしている。 == 特徴 == * (単なるHTMLに比べて)リッチなユーザインタフェースを高い抽象レベルで宣言的に記述できる。例えばXULウィジェットセットには、ツリー、コンボボックス、バンドボックス、スライダーなどがある〔ZK Live Demo 〕。 * Javaへのスクリプト埋め込みをサポート〔BeanShell 〕。これにより、ユーザインタフェースとバックエンドのプログラミングを統一的に同じ言語で開発できる。オプションでその他のサーバサイドJavaスクリプトとしてJavaScript (Rhino)〔Rhino:JavaScript for Java 〕、Ruby (JRuby)〔Ruby 〕、Python (Jython)〔Jython 〕、Groovy〔Groovy 〕も使える。 * 高度なAjaxサポート。ユーザーのブラウザへの入力はAjax経由でサーバ側のデスクトップモデルに渡される。 * イベント駆動コンポーネントベースモデル(デスクトッププログラミングモデルと類似) * いくつかのパターンでユーザインタフェースを生成できる。MVCプログラミングを採用した場合は、全てのイベントは中心となるコントローラクラスにフォワードされる〔ZK MVC Made Easy 〕。それとは別に zscript を使ってページ内にイベントハンドラを定義できる〔The zscript Element 〕。前者はSwingに近く、後者はDHTMLに近い。 * JSPカスタムタグライブラリ、JSFサポート、サーブレットフィルタにより、既存のWebプレームワークとの連携が可能。SpringやHibernateをサポート。 * 新たにUIコンポーネントを作成して拡張することができる。コントロールのグループをマクロコンポーネントとして再利用できる。 * ページ内アノテーションによるデータバインディング機能。画面上のコントロールとサーバ上のPOJOのフィールドを透過的にバインドできる。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「ZK (フレームワーク)」の詳細全文を読む 英語版ウィキペディアに対照対訳語「 ZK (framework) 」があります。 スポンサード リンク
|